package com.icss.common.util;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 全部是一些静态的常量
 * 
 * @author 陈岩
 */
public class ConstatFinalUtil
{
	/* 定义日志对象 */
	public static final Logger SYS_LOGGER = LogManager.getLogger() ; 
	
	/* 所有的字符串 */
	public static final String ALLSTR = "abcdefghjkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789";
	
	/* 日期的默认格式 */
	public static final String DATE_FORMAT = "yyyy-MM-dd" ; 
	/* 日期时间的默认格式 */
	public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss" ; 
	/* 秒 */
	public static final int SECOND = 1000 ;
	/* 编码 */
	public static final String CHARSET = "UTF-8";
	
	
	/* 配置文件中的json对象 */
	public static JSONObject SYS_JSON = new JSONObject();
	/* 配置文件中的json对象,Config模块 */
	public static JSONObject CONFIG_JSON = new JSONObject();
	/* 配置文件中的json对象,info模块 */
	public static JSONObject INFO_JSON = new JSONObject();
	
	/*
	 * 放一些初始化的操作 只执行一次
	 */
	static
	{
		/* FastJSON中默认的格式 */
		JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss" ; 
		
		FileUtil fileUtil = new FileUtil();
		/* 从Classpath中获取 */
		String result = fileUtil.readFile(ConstatFinalUtil.class.getClassLoader().getResourceAsStream("config.json"));
		/* 将字符串变成JSON对象 */
		try
		{
			SYS_JSON = (JSONObject) JSON.parse(result);
			CONFIG_JSON = SYS_JSON.getJSONObject("config");
			INFO_JSON = SYS_JSON.getJSONObject("info");
		} catch (Exception e)
		{
			ConstatFinalUtil.SYS_LOGGER.error("解析配置文件json,失败了;原文:{}",result);
		}
	}
}
